]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
magnifier: Transform a11y events' coordinates by scale factor
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 6 Feb 2020 09:59:20 +0000 (10:59 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 7 Feb 2020 17:18:25 +0000 (18:18 +0100)
We get those events in logical coordinates, which we have to transform
into actual pixels.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984

js/ui/magnifier.js

index 7b43e8dd2c008a8c47d41cb246de789ec005bcb5..6e9b9e7cc3992c9f0a5b4a8830a4481ee50ad981 100644 (file)
@@ -799,8 +799,9 @@ var ZoomRegion = class ZoomRegion {
             return;
         }
 
-        let [xFocus, yFocus] = [extents.x + (extents.width / 2),
-                                extents.y + (extents.height / 2)];
+        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
+        let [xFocus, yFocus] = [(extents.x + (extents.width / 2)) * scaleFactor,
+                                (extents.y + (extents.height / 2)) * scaleFactor];
 
         if (this._xFocus !== xFocus || this._yFocus !== yFocus) {
             [this._xFocus, this._yFocus] = [xFocus, yFocus];
@@ -820,7 +821,8 @@ var ZoomRegion = class ZoomRegion {
             return;
         }
 
-        let [xCaret, yCaret] = [extents.x, extents.y];
+        let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
+        let [xCaret, yCaret] = [extents.x * scaleFactor, extents.y * scaleFactor];
 
         if (this._xCaret !== xCaret || this._yCaret !== yCaret) {
             [this._xCaret, this._yCaret] = [xCaret, yCaret];